[cc lang='javascript']
const net = require('net');

const clients = new Set();

function broadcast(message, sender) {
for (let client of clients) {
if (client !== sender) {
client.write(message);
}
}
}

const server = net.createServer((socket) => {
clients.add(socket);

socket.write('欢迎来到聊天室!\n');
broadcast(`${socket.remoteAddress} 已加入聊天室。\n`, socket);

socket.on('data', (data) => {
const message = data.toString().trim();
broadcast(`${socket.remoteAddress}: ${message}\n`, socket);
});

socket.on('end', () => {
clients.delete(socket);
broadcast(`${socket.remoteAddress} 已离开聊天室。\n`, socket);
});

socket.on('error', (err) => {
console.log('Socket Error:', err);
clients.delete(socket);
});
});

const PORT = 8000;
server.listen(PORT, () => {
console.log(`聊天服务器运行在 localhost:${PORT}`);
});

[/cc]

赞(0) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"nodejs"

表情

最新评论

    暂无留言哦~~